Machine-learning based datapath extraction

ABSTRACT

A datapath extraction tool uses machine-learning models to selectively classify clusters of cells in an integrated circuit design as either datapath logic or non-datapath logic based on cluster features. A support vector machine and a neural network can be used to build compact and run-time efficient models. A cluster is classified as datapath if both the support vector machine and the neural network indicate that it is datapath-like. The cluster features may include automorphism generators for the cell clusters, or physical information based on the cell locations from a previous (e.g., global) placement, such as a ratio of a total cell area for a given cluster to a half-perimeter of a bounding box for the given cluster.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to the design of semiconductorchips and integrated circuits, and more particularly to a method ofidentifying different portions of an integrated circuit design which maybe handled differently during optimized placement of the circuitcomponents in a layout.

2. Description of the Related Art

Integrated circuits are used for a wide variety of electronicapplications, from simple devices such as wristwatches, to the mostcomplex computer systems. A microelectronic integrated circuit (IC) chipcan generally be thought of as a collection of logic cells withelectrical interconnections between the cells, formed on a semiconductorsubstrate (e.g., silicon). An IC may include a very large number ofcells and require complicated connections between the cells. A cell is agroup of one or more circuit elements such as transistors, capacitors,resistors, inductors, and other basic circuit elements combined toperform a logic function. Cell types include, for example, core cells,scan cells, input/output (I/O) cells, and memory (storage) cells. Eachof the cells of an IC may have one or more pins, each of which in turnmay be connected to one or more other pins of the IC by wires. The wiresconnecting the pins of the IC are also formed on the surface of thechip. For more complex designs, there are typically at least fourdistinct layers of conducting media available for routing, such as apolysilicon layer and three metal layers (metal-1, metal-2, andmetal-3). The polysilicon layer, metal-1, metal-2, and metal-3 are allused for vertical and/or horizontal routing.

An IC chip is fabricated by first conceiving the logical circuitdescription, and then converting that logical description into aphysical description, or geometric layout. This process is usuallycarried out using a “netlist,” which is a record of all of the nets, orinterconnections, between the cell pins, including information about thevarious components such as transistors, resistors and capacitors. Alayout typically consists of a set of planar geometric shapes in severallayers. The layout is then checked to ensure that it meets all of thedesign requirements, particularly timing requirements. The result is aset of design files known as an intermediate form that describes thelayout. The design files are then run through a dataprep process that isused to produce patterns called masks by an optical or electron beampattern generator. During fabrication, these masks are used to etch ordeposit features in a silicon wafer in a sequence of photolithographicsteps using a complex lens system that shrinks the mask image. Theprocess of converting the specifications of an electrical circuit intosuch a layout is called the physical design.

Cell placement in semiconductor fabrication involves a determination ofwhere particular cells should optimally (or near-optimally) be locatedon the surface of a integrated circuit device. Due to the large numberof components and the details required by the fabrication process forvery large scale integrated (VLSI) devices, physical design is notpractical without the aid of computers. As a result, most phases ofphysical design extensively use computer-aided design (CAD) tools, andmany phases have already been partially or fully automated. Automationof the physical design process has increased the level of integration,reduced turn around time and enhanced chip performance. Severaldifferent programming languages have been created for electronic designautomation (EDA), including Verilog, VHDL and TDML. A typical EDA systemreceives one or more high level behavioral descriptions of an IC device,and translates this high level design language description into netlistsof various levels of abstraction. Given a netlist N=(V, E) with nodes(vertices) V and nets (edges) E, a global placement tool obtainslocations (x_(i), y_(i)) for all the movable nodes, such that the areaof nodes within any rectangular region does not exceed the area of cellsites in that region. Though some work has looked at general Steinerwirelength optimization, placers typically minimize the half-perimeterwirelength (HPWL) of the design. Modern placers often approximate HPWLby a differentiable function using a quadratic objective.

Physical synthesis is prominent in the automated design of integratedcircuits such as high performance processors and application specificintegrated circuits (ASICs). Physical synthesis is the process ofconcurrently optimizing placement, timing, power consumption, crosstalkeffects and the like in an integrated circuit design. This comprehensiveapproach helps to eliminate iterations between circuit analysis andplace-and-route. Physical synthesis has the ability to repower gates(changing their sizes), insert repeaters (buffers or inverters), clonegates or other combinational logic, etc., so the area of logic in thedesign remains fluid. However, physical synthesis can take days tocomplete, and the computational requirements are increasing as designsare ever larger and more gates need to be placed. There are also morechances for bad placements due to limited area resources.

As technology scales beyond the deep-submicron regime and operatingfrequencies increase, a new style is emerging in the design ofintegrated circuits referred to as hybrid designs, which contain amixture of random logic and datapath (standard cell) components. FIG. 1Aillustrates an example of a random logic layout 1 having three rowscontaining various cells. A given logic function or cone may have cellsrandomly distributed in different rows to satisfy the placementconstraints, with no particular boundaries for any set of cells. FIG. 1Bdepicts a contrasting example of datapath logic layout 2 with fivesubcircuits or macros each having predefined geometries. Datapath logicwas traditionally placed manually, i.e., a custom design, but there hasbeen a significant effort in recent years to include the placement ofdatapath logic in the automation process, particularly for hybriddesigns which also contain random logic. However, placement formulationfor datapath logic is generally different than that for random logic.Random logic placers ignore this aspect of hybrid designs, which canlead to major wirelength and congestion issues with state-of-the-artdevices.

Methods have accordingly been devised for automatically extractingdatapaths from a netlist. Datapath extraction techniques generally focuson functional or structural levels in the design. Functional regularityextraction identifies logically equivalent subcircuits within a netlistthat are then handled separately during placement. In one example alarge set of templates are generated and used to search for datapathlogic before placement. Another functional regularity example uses ahash-based approach. Methods of structural datapath extraction rely on aregularity metric to represent the datapath. For example, datapathextraction can consist of a decomposition of the netlist into a set ofstages and a set of slices with one cell occurring in exactly one stageset and one slice set. This extraction algorithm expands in search-wavesthrough the network using the regularity metric to determine theexpansion direction. More recently, a method for extracting structurehas been developed with the assumption that the placement distancebetween a pair of cells is related to the graph distance between them.Nets are weighted in a shortest path computation by assuming thedistance between two cells is related to the degree of the netconnecting them. Then, by extracting “corner” cells and fixing them inplace, the maximum distance of the other cells can be calculated.

SUMMARY OF THE INVENTION

The present invention is directed to a method of extracting datapathlogic from an integrated circuit design, by receiving a circuitdescription for the integrated circuit design which includes a pluralityof cells interconnected to form a plurality of nets, generating cellclusters from the circuit description, evaluating the cell clusters toidentify cluster features, and selectively classifying the cell clustersas either datapath logic or non-datapath logic using one or moremachine-learning models based on the cluster features. Twomachine-learning models can be used, each providing an indication ofwhether a given one of the cell clusters is datapath logic, and thegiven cell cluster can be classified as datapath only if both of themachine-learning models indicate that the given cell cluster is datapathlogic. In the illustrative implementation a first one of themachine-learning models is a support vector machine, and a second one ofthe machine-learning models is a neural network. The cluster featuresmay include automorphism generators for the cell clusters, or physicalinformation based on the cell locations from a previous placement. Thephysical information may include a ratio of a total cell area for agiven cluster to a half-perimeter of a bounding box for the givencluster.

The above as well as additional objectives, features, and advantages ofthe present invention will become apparent in the following detailedwritten description.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerousobjects, features, and advantages made apparent to those skilled in theart by referencing the accompanying drawings.

FIG. 1A is an example of a conventional random logic layout;

FIG. 1B is an example of a conventional datapath logic layout;

FIG. 2 is a block diagram of a computer system programmed to carry outintegrated circuit design in accordance with one implementation of thepresent invention;

FIG. 3 is a pictorial representation of a seed growth method foridentifying candidate clusters in a netlist;

FIG. 4A is an example of a cell cluster which may be evaluated forautomorphisms in accordance with one implementation of the presentinvention;

FIG. 4B is a first automorphism of the cell cluster of FIG. 4A;

FIG. 4C is a second automorphism of the cell cluster of FIG. 4A;

FIG. 4D is a third automorphism of the cell cluster of FIG. 4A;

FIG. 5 is an example of a cell cluster which is determined to have noautomorphisms in accordance with one implementation of the presentinvention;

FIG. 6 is a layout for a cell cluster depicting how placement hints maybe derived including a ratio of total cell area to a sum of clusterwidth and height in accordance with one implementation of the presentinvention;

FIG. 7 is a chart illustrating the logical flow for a training processused in accordance with one implementation of the present invention togenerate machine learning models for classifying a cluster as datapathor non-datapath (random); and

FIG. 8 is a chart illustrating the logical flow for a datapathextraction process in accordance with one implementation of the presentinvention.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

Previous datapath extraction algorithms which use only functional orstructural information are not effective for modern large-scale, hybrid(datapath/random logic) circuits having many pre-placed blocks, for manyreasons. Traditional synthesis optimization objectives (both thesynthesis and physical design stages) are often at odds with what acustom circuit designer would implement. One simple example is how areaoptimization during synthesis often disrupts the regular structure of adatapath. Design tools are not created to extract logical hierarchynaturally. They generally flatten the design which in the case of randomlogic is beneficial, but this approach again disrupts the ability toidentify quality placement and timing solutions. Each stage in thesynthesis flow is generally independent of other optimization stagesrequiring significant amounts of iterations. For example, synthesisoptimization (optimizing the Boolean logic before technology mapping) isgenerally not timing aware. Placement is generally not aware ofroutability. Current attempts to mitigate these issues focus simply oniterative techniques to gradually improve wirelength without hurtingplacement, and none of them actually solve for how or why datapath logicis different.

It would, therefore, be desirable to devise an improved method ofdatapath extraction which could automatically classify areas of acircuit design as either datapath or random logic so as to allowplacement tools to separately handle those two types of circuitry. Itwould be further advantageous if the method could efficiently managelarge design sizes without requiring excessive run time. The presentinvention achieves these objectives using a high-dimensional datalearning, extraction, and evaluation algorithm. This inventive approachcan consider not only logic structures, but also placement hints frominitial global placement results. The novel extraction method hasdemonstrated significantly better results than previous state-of-the-artmethods on both hybrid industrial designs which contain random logicsand data paths, and placement benchmarks where structured datapathlogics were not even intended. Both graph-based and physical featurescan be analyzed and extracted from the netlist, mapping a set ofparameters most critical and sensitive to datapath logic. Effectivefeatures can be used to create differentiation between random anddatapath logic, allowing the patterns extracted from a training set toclassify datapath structures in new circuits.

With reference now to the figures, and in particular with reference toFIG. 2, there is depicted one embodiment 10 of a computer system inwhich the present invention may be implemented to carry out the designof logic structures in an integrated circuit. Computer system 10 is asymmetric multiprocessor (SMP) system having a plurality of processors12 a, 12 b connected to a system bus 14. System bus 14 is furtherconnected to a combined memory controller/host bridge (MC/HB) 16 whichprovides an interface to system memory 18. System memory 18 may be alocal memory device or alternatively may include a plurality ofdistributed memory devices, preferably dynamic random-access memory(DRAM). There may be additional structures in the memory hierarchy whichare not depicted, such as on-board (L1) and second-level (L2) orthird-level (L3) caches.

MC/HB 16 also has an interface to peripheral component interconnect(PCI) Express links 20 a, 20 b, 20 c. Each PCI Express (PCIe) link 20 a,20 b is connected to a respective PCIe adaptor 22 a, 22 b, and each PCIeadaptor 22 a, 22 b is connected to a respective input/output (I/O)device 24 a, 24 b. MC/HB 16 may additionally have an interface to an I/Obus 26 which is connected to a switch (I/O fabric) 28. Switch 28provides a fan-out for the I/O bus to a plurality of PCI links 20 d, 20e, 20 f. These PCI links are connected to more PCIe adaptors 22 c, 22 d,22 e which in turn support more I/O devices 24 c, 24 d, 24 e. The I/Odevices may include, without limitation, a keyboard, a graphicalpointing device (mouse), a microphone, a display device, speakers, apermanent storage device (hard disk drive) or an array of such storagedevices, an optical disk drive, and a network card. Each PCIe adaptorprovides an interface between the PCI link and the respective I/Odevice. MC/HB 16 provides a low latency path through which processors 12a, 12 b may access PCI devices mapped anywhere within bus memory or I/Oaddress spaces. MC/HB 16 further provides a high bandwidth path to allowthe PCI devices to access memory 18. Switch 28 may provide peer-to-peercommunications between different endpoints and this data traffic doesnot need to be forwarded to MC/HB 16 if it does not involvecache-coherent memory transfers. Switch 28 is shown as a separatelogical component but it could be integrated into MC/HB 16.

In this embodiment, PCI link 20 c connects MC/HB 16 to a serviceprocessor interface 30 to allow communications between I/O device 24 aand a service processor 32. Service processor 32 is connected toprocessors 12 a, 12 b via a JTAG interface 34, and uses an attentionline 36 which interrupts the operation of processors 12 a, 12 b. Serviceprocessor 32 may have its own local memory 38, and is connected toread-only memory (ROM) 40 which stores various program instructions forsystem startup. Service processor 32 may also have access to a hardwareoperator panel 42 to provide system status and diagnostic information.

In alternative embodiments computer system 10 may include modificationsof these hardware components or their interconnections, or additionalcomponents, so the depicted example should not be construed as implyingany architectural limitations with respect to the present invention. Theinvention may further be implemented in an equivalent cloud computingnetwork.

When computer system 10 is initially powered up, service processor 32uses JTAG interface 34 to interrogate the system (host) processors 12 a,12 b and MC/HB 16. After completing the interrogation, service processor32 acquires an inventory and topology for computer system 10. Serviceprocessor 32 then executes various tests such as built-in-self-tests(BISTs), basic assurance tests (BATs), and memory tests on thecomponents of computer system 10. Any error information for failuresdetected during the testing is reported by service processor 32 tooperator panel 42. If a valid configuration of system resources is stillpossible after taking out any components found to be faulty during thetesting then computer system 10 is allowed to proceed. Executable codeis loaded into memory 18 and service processor 32 releases hostprocessors 12 a, 12 b for execution of the program code, e.g., anoperating system (OS) which is used to launch applications and inparticular the circuit design application of the present invention,results of which may be stored in a hard disk drive of the system (anI/O device 24). While host processors 12 a, 12 b are executing programcode, service processor 32 may enter a mode of monitoring and reportingany operating parameters or errors, such as the cooling fan speed andoperation, thermal sensors, power supply regulators, and recoverable andnon-recoverable errors reported by any of processors 12 a, 12 b, memory18, and MC/HB 16. Service processor 32 may take further action based onthe type of errors or defined thresholds.

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a system, method or computer program product.Accordingly, the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present invention may take the form of a computer program productembodied in any tangible medium of expression having computer usableprogram code embodied in the medium.

Any combination of one or more computer usable or computer readablemedia may be utilized. The computer-usable or computer-readable mediummay be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CDROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.The computer-usable or computer-readable medium could even be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this invention, acomputer-usable or computer-readable medium may be any medium that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus, ordevice. The computer-usable medium may include a propagated data signalwith the computer-usable program code embodied therewith, either inbaseband or as part of a carrier wave. The computer usable program codemay be transmitted using any appropriate medium, including but notlimited to wireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk, C++ or the like and conventional procedural programminglanguages, written for a variety of platforms such as an AIX environmentor operating systems such as Windows 7 or Linux. The program code mayexecute entirely on the user's computer, partly on the user's computer,as a stand-alone software package, partly on the user's computer andpartly on a remote computer or entirely on the remote computer orserver. In the latter scenario, the remote computer may be connected tothe user's computer through any type of network, including a local areanetwork (LAN) or a wide area network (WAN), or the connection may bemade to an external computer (for example, through the Internet using anInternet Service Provider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks. Such storage media excludes transitory media.

The computer program instructions may further be loaded onto a computeror other programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. Each block of the block diagrams and/orflowchart illustration, and combinations of blocks in the block diagramsand/or flowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts, orcombinations of special purpose hardware and computer instructions.

Computer system 10 carries out program instructions for a physicalsynthesis process that uses novel datapath extraction techniques tooptimize cell placement. Accordingly, a program embodying the inventionmay include conventional aspects of various synthesis or placementtools, and these details will become apparent to those skilled in theart upon reference to this disclosure. In the illustrativeimplementation, computer system 10 carries out datapath extraction bygenerating candidate clusters of the original netlist in which to searchfor datapath structures, and evaluating each cluster to identifyspecific characteristics used to distinguish datapath logic from randomlogic. Machine learning techniques can then be used to classify theclusters based on training models.

The clustering stage prepares the netlist to analyze and extractdatapath structures from. The goal is to find clusters exhibitingidentifiable structural and physical features. There are numerousconventional techniques for grouping cells of an integrated circuitdesign into clusters. The preferred implementation of the presentinvention uses an extension of the connectivity-based seed growth methodproposed by Liu and Marek-Sadowska in the paper “Pre-Layout PhysicalConnectivity Predictions With Applications In Clustering, Placement AndLogic Synthesis,” Proc. ICCAD, pages 31-37 (2005). According to thattechnique, a ratio of external to internal cluster forces is maximizedwhile maintaining a maximum logic depth threshold. The external force isdefined as the summation of the edge weights of nets with at least onevertex (node) outside and one inside a given cluster C_(i) and theinternal force is defined as the summation of all internal clusterconnection weights, as depicted FIG. 3. A candidate cluster 48 has seveninternal nodes with connections to five external nodes. The internalconnection weights are IW₁-IW₉, and the external connection weights areEW₁-EW₆. Specific weight values can be determined according to theparticular net model used. The internal and external forces affect thephysical size of a cluster in opposite directions. The internal forcetries to keep the nodes together in the final layout, whereas theexternal force tends to pull the nodes apart.

This clustering method uses a bottom-up algorithm which starts from aseed node. Suitable seed nodes are those with large net degrees, i.e.,the nodes are sorted by node degree, and a seed node is selected whichis currently unclustered and has the largest node degree. Theconnectivity between a neighboring node u of a cluster C_(i) is equal tothe sum of edge weights for all connections between u and nodes withinthe cluster. In each subsequent pass, the neighboring node with thelargest connectivity is added to the cluster while keeping the internalforce of the cluster as large as possible. Neighboring nodes are addedin each pass until the size of the cluster exceeds a cluster sizeconstraint.

Once clusters in the netlist have been identified, computer system 10extracts and evaluates distinguishing features of the clusters. Thepresent invention can take advantage of the observation that mostdatapath logic contains a high degree of graph automorphism. Anautomorphism of a graph (a form of symmetry) preserves the edge-vertexconnectivity of a graph G=(V; E) while mapping onto itself That is, anautomorphism is a graph isomorphism from G to itself, i.e., apermutation of the vertex set V such that the pair of vertices (u; v)form an edge if and only if the pair ((u); (v)) also form an edge. Theset of automorphisms of a given graph forms the automorphism group forthat graph. Generators for the automorphism group are defined as a setof elements which may be combined to generate every non-identicalpermutation in the automorphism group. For example, FIG. 4A depicts agraph G having six labeled nodes and seven edges. This graph has a totalof four automorphisms and two generators. The first automorphism, G(1;2; 3; 4; 5; 6), corresponds to itself, with three additionalautomorphisms: G(2; 1; 4; 3; 6; 5) as seen in FIG. 4B (G flippedleft-right); G(5; 6; 3; 4; 1; 2) as seen in FIG. 4C (G flippedupside-down); and G(6; 5; 4; 3; 2; 1) as seen in FIG. 4D (G flippedleft-right and upside-down). The nontrivial generator set S of G is (1;5)(2; 6) and (1; 2)(3; 4)(5; 6). As this example shows, the symmetry ofthe graph along with the generator group provides possible bit-stackcandidates including: (1; 2), (5; 6) or (1; 3; 5), (2; 4; 6), anindication that the graph should be judged as datapath logic.

In contrast, FIG. 5 displays a random logic netlist 52 also having sixnodes and seven edges. However, unlike the clear symmetry present inFIG. 4A, the graph of FIG. 5 contains no nontrivial automorphisms. Thisfundamental observation holds true for random logic netlists in general.Thus, the automorphism generators of structured logic appear verydifferently than the automorphism generators of random logic enablingsufficient differentiation as a datapath feature.

While graph automorphism features are particularly useful in classifyinglogic as random or datapath, the present invention may alternatively oradditionally take advantage of physical information gleaned from aprevious placement optimization, e.g., global placement. Globalplacement has merit in wirelength optimization, so the present inventioncan use placement hints for improved classification. In oneimplementation, the physical information so used relates to the area ofthe cells within a cluster and the size of the cluster's bounding box,as shown in FIG. 6. In particular, this feature can be quantified as theratio rC_(i) of the total cell area within cluster C_(i) to the sum ofthe bounding box height and width. This physical information helps tocharacterize the amount of spreading and the initial cell locations foreach cluster. Dense clusters indicate tightly packed logic and possiblythe need for improved placement whereas sparse logic is generally lesslikely to improve from being passed to a datapath placer. The previousplacement may be from some other placement tool, and could be an initialplacement or even an incomplete placement.

Computer system 10 uses the cluster features to classify and evaluateeach cluster with machine-learning based models. In the preferredimplementation computer system 10 combines two data learning algorithms,a support vector machine (SVM) and a neural network (NN), to buildcompact and run-time efficient models, although other machine-learningmodels may be used. FIG. 7 illustrates a training process 60 forcreating the models. The process begins with a learning set of designpatterns (cell cluster netlists) which are known or designated to beeither datapath or random in nature, with cells located in a mannersimilar to a global or other optimized placement (62). The learning setis preferably relatively small (for example, as small as a few thousandpatterns), and since the patterns are built a priori at a one time cost,the CPU run-time penalty is negligible. For each learning pattern, anyautomorphism generators and physical information associated with theplacement are computed (64). Corresponding support vectors are createdand the SVM calculates a hyperplane boundary with maximum separationmargin between datapath and non-datapath logic associated with thesupport vectors (66). Only the critical information on the separationboundaries is preserved in the SVM model, i.e., the correspondingsupport vectors. All of the support vectors are involved in the SVMdecision calculation (score). The NN operates by configuring complexnetworks of neurons to achieve a high dimensional decision diagram-likedata structure associated with the same training samples (automorphismgenerators and physical information) and decision hints. In theillustrative embodiment the NN generates a score which is normalizedbetween −1 (indicating random logic) and +1 (indicating datapath logic).The decision can be biased to maximize the number of correctly selecteddatapath circuits by moving the required score closer to the datapathlogic maximum; for example, logic may be indicated as datapath only ifits normalized score is above 0.8. A resilient backward propagationmethod based on iterative sub-gradient updates can be employed. Forbetter quality, both a soft-error tolerant SVM and a special working setselection method can be used.

After the boundaries are calculated the models can be calibrated,preferably by manual adjustment of the separation threshold and/or NNscore (68). The designer can move the boundaries to account for noise inthe test data or otherwise improve the evaluation accuracies. The modelis then applied to a larger set of known design patterns (exclusive fromthe learning set) for validation, to assure a balance of learningaccuracies between the training data and the unknown testing data (70).The validation set is preferably large compared to the learning set (forexample 30,000 patterns). In the illustrative implementation two typesof accuracies are defined to quantify the learning performance, datapathevaluation accuracy and non-datapath evaluation accuracy. Datapathevaluation accuracy is the rate of correctly detected datapath (ordatapath-like) patterns over the total number of actual datapathstructures. Non-datapath evaluation accuracy is the rate of correctlydetected non-datapath (e.g., random logic) patterns over the totalnumber of non-datapath structures processed. The optimization objectivefor both SVM and NN is to maximize the evaluation accuracies of datapathand non-datapath patterns, or equivalently, to minimize the mean squareerrors for both classes of pattern evaluation.

The evaluation accuracies can be compared to minimum rates in order todetermine whether the model is valid, i.e., whether there is sufficientconfidence (72). The minimum rates may vary depending on the set oflearning patterns used. If the model is considered valid, the trainingis complete. Otherwise, the model may be recalibrated (returning to box68), or the designer may decide to apply additional learning sets(returning to box 62). Once validated, the model is ready for use indatapath extraction on new (unknown) circuit designs.

The present invention may be further understood with reference to thechart of FIG. 8 which shows the logical flow for one implementation of adatapath extraction process 80. The process begins by receiving thenetlist for a new circuit design or portion thereof (82). The design haspreferably undergone an optimized placement such as global placement,and the placement information is included in the netlist so thatphysical information can be considered in the analysis, but thoseskilled in the art will appreciate that datapath extraction according tothe present invention may still proceed without such physicalinformation. Cells or nodes of the design are grouped into clustersaccording to any convenient clustering algorithm, such as theconnectivity-based seed growth method described above (84). Clusterfeatures are identified, including automorphisms and their generators,and physical information from global placement hints, such as the ratioof total cell area to bounding box half-perimeter (86). Each of theclusters is then individually classified as either datapath logic orrandom logic by applying the data learning models to evaluate thecluster features (88). As the new patterns go through the learningmodels, their evaluation scores could span within certain ranges fordatapath and non-datapath patterns, respectively, for both NN and SVM,so the designer may choose different bases for deciding whether a givencluster is datapath. In the preferred implementation, a pattern isdetermined to datapath logic if and only if both of the NN and SVMevaluation scores indicate datapath logic (i.e., are above certainthresholds). This redundant approach helps to systematically improve thedatapath evaluation accuracy without noticeable penalty in non-datapathaccuracy. Usually NN and SVM have similar performance for most binaryclassifications, e.g., differentiating datapath-like and non-datapathpatterns. In principle, SVM guarantees the global optimum but can besensitive to data noise. NN usually has good noise robustness, howeverit can take more time in training and calibration to reach an optimal orclose-to-optimal result.

Once all of the clusters have been evaluated, the netlist is updatedwith the classification information (90), and the process ends. Theclassification information can be used in later design stages by aplacement tool which employs different methodologies for datapath versusrandom logic. For example, datapath logic may be placed according to thetiered assignment method described in U.S. patent application Ser. No.13/451,382 filed Apr. 19, 2012, for improved bit-stack alignment.Experimental results indicate significant wirelength improvements duringautomated placement using the novel extraction methods described herein.Datapath wirelength improvements were even greater.

Although the invention has been described with reference to specificembodiments, this description is not meant to be construed in a limitingsense. Various modifications of the disclosed embodiments, as well asalternative embodiments of the invention, will become apparent topersons skilled in the art upon reference to the description of theinvention. It is therefore contemplated that such modifications can bemade without departing from the spirit or scope of the present inventionas defined in the appended claims.

What is claimed is:
 1. A computer-implemented method of extractingdatapath logic from an integrated circuit design, comprising: receivinga circuit description for the integrated circuit design which includes aplurality of cells interconnected to form a plurality of nets, byexecuting first instructions in a computer system; generating cellclusters from the circuit description, by executing second instructionsin the computer system; evaluating the cell clusters to identify one ormore cluster features in the cell clusters, by executing thirdinstructions in the computer system; and selectively classifying thecell clusters as either datapath logic or non-datapath logic using oneor more machine-learning models based on the one or more clusterfeatures, by executing fourth instructions in the computer system. 2.The method of claim 1 wherein said classifying uses at least twomachine-learning models each providing an indication of whether a givenone of the cell clusters is datapath logic, and the given cell clusteris classified as datapath only when both of the two machine-learningmodels indicate that the given cell cluster is datapath logic.
 3. Themethod of claim 2 wherein a first one of the machine-learning models isa support vector machine, and a second one of the machine-learningmodels is a neural network.
 4. The method of claim 1 wherein the clusterfeatures include automorphism generators for the cell clusters.
 5. Themethod of claim 1 wherein the circuit description further includeslocations for the cells from a previous placement, and the clusterfeatures include physical information based on the cell locations. 6.The method of claim 5 wherein the physical information includes a ratioof a total cell area for a given cluster to a half-perimeter of abounding box for the given cluster.
 7. A computer system comprising: oneor more processors which process program instructions; a memory deviceconnected to said one or more processors; and program instructionsresiding in said memory device for extracting datapath logic from anintegrated circuit design by receiving a circuit description for theintegrated circuit design which includes a plurality of cellsinterconnected to form a plurality of nets, generating cell clustersfrom the circuit description, evaluating the cell clusters to identifyone or more cluster features in the cell clusters, and selectivelyclassifying the cell clusters as either datapath logic or non-datapathlogic using one or more machine-learning models based on the one or morecluster features.
 8. The computer system of claim 7 wherein said programinstructions classify the cell clusters using at least twomachine-learning models each providing an indication of whether a givenone of the cell clusters is datapath logic, and the given cell clusteris classified as datapath only when both of the two machine-learningmodels indicate that the given cell cluster is datapath logic.
 9. Thecomputer system of claim 8 wherein a first one of the machine-learningmodels is a support vector machine, and a second one of themachine-learning models is a neural network.
 10. The computer system ofclaim 7 wherein the cluster features include automorphism generators forthe cell clusters.
 11. The computer system of claim 7 wherein thecircuit description further includes locations for the cells from aprevious placement, and the cluster features include physicalinformation based on the cell locations.
 12. The computer system ofclaim 11 wherein the physical information includes a ratio of a totalcell area for a given cluster to a half-perimeter of a bounding box forthe given cluster.
 13. A computer program product comprising: acomputer-readable storage medium; and program instructions residing insaid storage medium for extracting datapath logic from an integratedcircuit design by receiving a circuit description for the integratedcircuit design which includes a plurality of cells interconnected toform a plurality of nets, generating cell clusters from the circuitdescription, evaluating the cell clusters to identify one or morecluster features in the cell clusters, and selectively classifying thecell clusters as either datapath logic or non-datapath logic using oneor more machine-learning models based on the one or more clusterfeatures.
 14. The computer program product of claim 13 wherein saidprogram instructions classify the cell clusters using at least twomachine-learning models each providing an indication of whether a givenone of the cell clusters is datapath logic, and the given cell clusteris classified as datapath only when both of the two machine-learningmodels indicate that the given cell cluster is datapath logic.
 15. Thecomputer program product of claim 14 wherein a first one of themachine-learning models is a support vector machine, and a second one ofthe machine-learning models is a neural network.
 16. The computerprogram product of claim 13 wherein the cluster features includeautomorphism generators for the cell clusters.
 17. The computer programproduct of claim 13 wherein the circuit description further includeslocations for the cells from a previous placement, and the clusterfeatures include physical information based on the cell locations. 18.The computer program product of claim 17 wherein the physicalinformation includes a ratio of a total cell area for a given cluster toa half-perimeter of a bounding box for the given cluster.
 19. In anelectronic design automation tool residing in a memory device of acomputer system which optimizes placement of cells of an integratedcircuit design, the improvement comprising: a datapath extraction toolwhich uses one or more machine-learning models to selectivelyclassifying clusters of the cells as either datapath logic ornon-datapath logic based on one or more cluster features.
 20. Theimprovement of claim 19 wherein said datapath extraction tool uses atleast two machine-learning models including a support vector machine anda neural network, and a given cell cluster is classified as datapathonly when both the support vector machine and the neural networkindicate that the given cell cluster is datapath logic.
 21. Theimprovement of claim 19 wherein the cluster features includeautomorphism generators for the cell clusters.
 22. The improvement ofclaim 19 wherein the cluster features include physical information basedon locations for the cells from a previous placement.
 23. Theimprovement of claim 22 wherein the physical information includes aratio of a total cell area for a given cluster to a half-perimeter of abounding box for the given cluster.
 24. A computer-implemented method oftraining a machine-learning based datapath extraction tool, comprising:receiving a learning set of design patterns representing clusters ofinterconnected cells wherein each design pattern is designated as eitherdatapath or non-datapath, by executing first instructions in a computersystem; identifying cluster features in the design patterns, byexecuting second instructions in the computer system; applying one ormore machine-learning models to the cluster features to selectivelyassociate the features with either datapath logic or non-datapath logic,by executing third instructions in the computer system; and calibratingthe one or more machine-learning models, by executing fourthinstructions in the computer system.
 25. The method of claim 24, furthercomprising: applying the one or more machine-learning models to avalidation set of design patterns representing different clusters ofinterconnected cells to classify the design patterns in the validationset as either datapath or non-datapath; determining that the one or moremachine-learning models did not accurately classify the design patternsin the validation set; and re-calibrating the one or moremachine-learning models responsive to said determining.